O7778(CAP 0-90 DEG PARTIAL RAD. OD PART)
(ABSOLUTE SURFACING MACRO)
(START Z AND X ARE CALCUATED FROM)
(0 DEG START OF SWING IN Z)
(90 DEG END OF SWING IN X DIAMETER)
(WORKS)

(FORMAT G65/G66 AECDTMSKRZF)
(A = #1 - START OF ANGLE IN DEGREES)
(E = #8 - END OF ANGLE IN DEGEREES)
(C = #3 - CUSP HEIGHT/ DEG. OF ROTATION) 
(D = #7 - TOOL DIAMETER)
(T = #20 - TOOL RADIUS/ BALL OR BULL)
(M = #13 - MATERIAL SIZE/ SQUARE OR ROUND)
(S = #19 - PART DIAMETER/ END OF SWING)
(K = #6 - PART CORNER RADIUS)
(R = #18 - R PLANE)
(Z = #26 - Z START ZERO/ START OF SWING)
(F = #9 - FEEDRATE) 
(*********************************)

IF[#8GT90.]GOTO1000
#100=#1
#101=#6+#20
#102=#3
IF[#102GT[#8-#1]]THEN#102=[#8-#1]/6
IF[#102GT15.]THEN#102=15.
#102=ROUND[[#8-#1]/#102]
#102=[#8-#1]/#102
#103=#5001
#104=[#103-.1]-[[#7/2]+[#13/2]]
#105=#5002
#113=#105
#115=[#105+.1]+[[#7/2]+[#13/2]]
#155=0
IF[#7EQ[#20*2]]GOTO1
#105=#105+[[#7/2]-#20]
#155=#155+[[#7/2]-#20]
N1G0G90X#104Y#115
Z[#26+.1]
G1Z#26F#9
#106=#5003-#101
WHILE[#100LE#8]DO1
IF[#100GT#8]GOTO100
#107=#105+[SIN[#100]*[#101]]
#157=#155+[SIN[#100]*[#101]] 
#108=#106+[COS[#100]*[#101]] 
IF[#6EQ[#19/2]]GOTO10
#107=#107+[[#19/2]-#6]
#157=#157+[[#19/2]-#6]
N10#100=#100+#102
G1Z#108F#9
G41Y#107
X#103
G02J-#157
G03X[#103+.1]Y[#107+.1]J.1F[#9/2]
G0Z[#108+.1]
G40X#104
END1
N100G0G90Z#18
X#103Y#113
M99
N1000#3000= 1( END OF ANGLE TOO BIG  )
